﻿using GloboTicketAdmin.API.Models;
using GloboTicketAdmin.API.Models.Domain;
using GloboTicketAdmin.API.Repository;

namespace GloboTicketAdmin.API.Services.IService
{
    public interface IEventService : IBaseRepository<EventModel>
    {
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int InsertEvent(EventModel model);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public int DeleteEventById(Guid id);

        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public int UpdateEventById(EventModel model, bool ignoreNullColumns = false);
        /// <summary>
        /// 更新状态
        /// </summary>
        /// <param name="id"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public int UpdateEventById(Guid id, EventStatusModel status);
        /// <summary>
        /// 添加多个
        /// </summary>
        /// <param name="modelList"></param>
        /// <returns></returns>
        public int AddEvent(List<EventModel> modelList);

        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public EventModel GetEventById(Guid id);


        public List<EventModel> GetAllEvents();

    }
}
